package com.gopay.solution.dao.smelly;

import java.io.Serializable;
import java.util.List;

import com.gopay.common.base.dao.BaseDAO;
import com.gopay.common.domain.cps.CpsProductLineInfo;

/**
 * 产品线修改DAO
 * 
 * 
 * 这个类放在这个位置就如同这个包名一样的smelly臭。但是又能怎么样呢。
 * <p>
 * 产品线的管理权限（增删改）应该属于CPS管理，或者至少应该独立于这个方案模块来管理，包括账户产品和账户，三者。这三者同方案是完全不同的概念，
 * 方案只是产品线，产品和账户拥有的属性而已，方案维护的是属性，而不是这三者本身。但是如今看来（详见控制台的产品线管理部分，那里本来应该是维护产品线方案，不应该维护产品线本身）。产品要求产品线管理和方案管理放在一起，那就放在一起吧。<p>
 * 多说一句，这种无理的要求不但造成了功能的耦合粘连，而且造成了分布式事务的出现，而系统为了避免分布式事务，而不得不写一段这么丑陋的代码。账户产品通过后台SQL脚本添加，而产品线通过WEB界面修改，总觉得很奇怪啊。Orzzzzzzz.
 * <p><b>希望这个类如同本smelly包下其他类一样，能在可以预见的将来被重构</b>
 * 
 * @CpsProductLineInfoTempDAO.java
 * @author MA HUAN
 * @2013-4-11 下午4:09:47 www.gopay.com.cn Inc.All rights reserved.
 */
public interface CpsProductLineInfoTempDAO extends BaseDAO<CpsProductLineInfo, Serializable> {

    public List<CpsProductLineInfo> listByProdLineName(String plName);
    
    public String getProdLineId();
}
